var fs = require('fs');
var path = require('path');

//要遍历的文件夹所在的路径
var filePath = path.resolve('zh-CN/');

//调用文件遍历方法
fileDisplay(filePath);

/**
 * 文件遍历方法
 * @param filePath 需要遍历的文件路径
 */
function fileDisplay(filePath) {
    //根据文件路径读取文件，返回文件列表
    fs.readdir(filePath, function(err, files) {
        if (err) {
            console.warn(err, "读取文件夹错误！")
        } else {
            //遍历读取到的文件列表
            files.forEach(function(filename) {
                //获取当前文件的绝对路径
                var filedir = path.join(filePath, filename);
                //根据文件路径获取文件信息，返回一个fs.Stats对象
                fs.stat(filedir, function(eror, stats) {
                    if (eror) {
                        console.warn('获取文件stats失败');
                    } else {
                        var isFile = stats.isFile(); //是文件
                        var isDir = stats.isDirectory(); //是文件夹
                        if (isFile) {
                            // console.log(filedir);
                            execFile(filedir)
                        }
                        if (isDir) {
                            fileDisplay(filedir); //递归，如果是文件夹，就继续遍历该文件夹下面的文件
                        }
                    }
                })
            });
        }
    });
}

function execFile(fp){
    const data = fs.readFileSync(fp)
    let s = data.toString();
    const r1 = /\\(\$|#|-|`|<|>|\||\.|\*)/g
    const r2 = /\*\*(\$|#)(.*?)\*\*/g
    s = s.replaceAll(r1,"$1")
    s = s.replaceAll(r2,"$1$2")
    s = s.replaceAll('（','(')
    s = s.replaceAll('）',')')
    fs.writeFileSync(fp,s)
}